iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
1
自我挑戰組

語法改革!零基礎新手也能讀懂的JS!系列 第 14

Day14 語法改革!零基礎新手也能讀懂的JS - script到底該放在哪?

  • 分享至 

  • xImage
  •  

在html的程式碼裡面JS其實可以很隨意地放在任何一個地方,但主要可能會放在這兩個地方

  • <head>...</head>之間
  • <body>...</body>結束之前

那到底放在哪一邊才是正確的呢?

<body>...</body>結束之前

我們來看個例子

script放在body裡,能夠正常執行並且用一段JS語法將div裡本來的文字更改為123,之後會在提到基本的JS API的用法,這邊先知道就可以了。

<script>...</script>之間


會看到並沒有執行????那是為什麼呢?這邊就要提及一下到底瀏覽器是怎麼解析HTML的了

在一個網頁,當瀏覽器要讀取一份HTML的檔案的時候,是由上而下的去解析,所以在head裡讀取到script的時候就會暫停解析網頁並且執行裡頭的語法,因為還尚未解析到body部分,所以找不到有一個div class="ck"導致無法正常執行。

然而放在body結束之前,由於整個DOM都已經解析完成,script才能順利找到他需要的元素,就會執行成功摟!

那你可能會問但放在head裡頭會出錯怎麼還會放這邊呢?其實是有辦法成功的,只要我們告訴瀏覽器當整個DOM被解析完成後再來讀取這個script就OK了!至於怎麼做我們之後會在更詳細的說明!

到底該放在<head>還是<body>?

不能說放在那邊才是最好的,但還是能夠說明一下差別

放在<head> : 瀏覽器看到的時候會先下載JS檔案並提下手邊讀取HTML的工作直到JS整個讀取完畢,這時如果JS量過大可能會造成網頁很卡。

放在<body> : 先解析玩所有的HTML在讀取JS檔案,但如果是高度依賴JS的網站的話,也可能會造成整體網頁變得緩慢。

今天就講解到這邊,大家明天見!


上一篇
Day13 語法改革!零基礎新手也能讀懂的JS - 什麼是瀏覽器上的JS?
下一篇
Day15 語法改革!零基礎新手也能讀懂的JS - querySelector與getElementByXX
系列文
語法改革!零基礎新手也能讀懂的JS!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言